package com.hllxd.hism.star.basic.service.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TblDataRockBnProductInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TblDataRockBnProductInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMerIdIsNull() {
            addCriterion("mer_id is null");
            return (Criteria) this;
        }

        public Criteria andMerIdIsNotNull() {
            addCriterion("mer_id is not null");
            return (Criteria) this;
        }

        public Criteria andMerIdEqualTo(String value) {
            addCriterion("mer_id =", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdNotEqualTo(String value) {
            addCriterion("mer_id <>", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdGreaterThan(String value) {
            addCriterion("mer_id >", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdGreaterThanOrEqualTo(String value) {
            addCriterion("mer_id >=", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdLessThan(String value) {
            addCriterion("mer_id <", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdLessThanOrEqualTo(String value) {
            addCriterion("mer_id <=", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdLike(String value) {
            addCriterion("mer_id like", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdNotLike(String value) {
            addCriterion("mer_id not like", value, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdIn(List<String> values) {
            addCriterion("mer_id in", values, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdNotIn(List<String> values) {
            addCriterion("mer_id not in", values, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdBetween(String value1, String value2) {
            addCriterion("mer_id between", value1, value2, "merId");
            return (Criteria) this;
        }

        public Criteria andMerIdNotBetween(String value1, String value2) {
            addCriterion("mer_id not between", value1, value2, "merId");
            return (Criteria) this;
        }

        public Criteria andProductPmIsNull() {
            addCriterion("product_pm is null");
            return (Criteria) this;
        }

        public Criteria andProductPmIsNotNull() {
            addCriterion("product_pm is not null");
            return (Criteria) this;
        }

        public Criteria andProductPmEqualTo(String value) {
            addCriterion("product_pm =", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmNotEqualTo(String value) {
            addCriterion("product_pm <>", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmGreaterThan(String value) {
            addCriterion("product_pm >", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmGreaterThanOrEqualTo(String value) {
            addCriterion("product_pm >=", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmLessThan(String value) {
            addCriterion("product_pm <", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmLessThanOrEqualTo(String value) {
            addCriterion("product_pm <=", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmLike(String value) {
            addCriterion("product_pm like", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmNotLike(String value) {
            addCriterion("product_pm not like", value, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmIn(List<String> values) {
            addCriterion("product_pm in", values, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmNotIn(List<String> values) {
            addCriterion("product_pm not in", values, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmBetween(String value1, String value2) {
            addCriterion("product_pm between", value1, value2, "productPm");
            return (Criteria) this;
        }

        public Criteria andProductPmNotBetween(String value1, String value2) {
            addCriterion("product_pm not between", value1, value2, "productPm");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductIsNull() {
            addCriterion("is_lego_product is null");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductIsNotNull() {
            addCriterion("is_lego_product is not null");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductEqualTo(String value) {
            addCriterion("is_lego_product =", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductNotEqualTo(String value) {
            addCriterion("is_lego_product <>", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductGreaterThan(String value) {
            addCriterion("is_lego_product >", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductGreaterThanOrEqualTo(String value) {
            addCriterion("is_lego_product >=", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductLessThan(String value) {
            addCriterion("is_lego_product <", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductLessThanOrEqualTo(String value) {
            addCriterion("is_lego_product <=", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductLike(String value) {
            addCriterion("is_lego_product like", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductNotLike(String value) {
            addCriterion("is_lego_product not like", value, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductIn(List<String> values) {
            addCriterion("is_lego_product in", values, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductNotIn(List<String> values) {
            addCriterion("is_lego_product not in", values, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductBetween(String value1, String value2) {
            addCriterion("is_lego_product between", value1, value2, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andIsLegoProductNotBetween(String value1, String value2) {
            addCriterion("is_lego_product not between", value1, value2, "isLegoProduct");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNull() {
            addCriterion("product_id is null");
            return (Criteria) this;
        }

        public Criteria andProductIdIsNotNull() {
            addCriterion("product_id is not null");
            return (Criteria) this;
        }

        public Criteria andProductIdEqualTo(String value) {
            addCriterion("product_id =", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotEqualTo(String value) {
            addCriterion("product_id <>", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThan(String value) {
            addCriterion("product_id >", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdGreaterThanOrEqualTo(String value) {
            addCriterion("product_id >=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThan(String value) {
            addCriterion("product_id <", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLessThanOrEqualTo(String value) {
            addCriterion("product_id <=", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdLike(String value) {
            addCriterion("product_id like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotLike(String value) {
            addCriterion("product_id not like", value, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdIn(List<String> values) {
            addCriterion("product_id in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotIn(List<String> values) {
            addCriterion("product_id not in", values, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdBetween(String value1, String value2) {
            addCriterion("product_id between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductIdNotBetween(String value1, String value2) {
            addCriterion("product_id not between", value1, value2, "productId");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNull() {
            addCriterion("product_name is null");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNotNull() {
            addCriterion("product_name is not null");
            return (Criteria) this;
        }

        public Criteria andProductNameEqualTo(String value) {
            addCriterion("product_name =", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotEqualTo(String value) {
            addCriterion("product_name <>", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThan(String value) {
            addCriterion("product_name >", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanOrEqualTo(String value) {
            addCriterion("product_name >=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThan(String value) {
            addCriterion("product_name <", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanOrEqualTo(String value) {
            addCriterion("product_name <=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLike(String value) {
            addCriterion("product_name like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotLike(String value) {
            addCriterion("product_name not like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameIn(List<String> values) {
            addCriterion("product_name in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotIn(List<String> values) {
            addCriterion("product_name not in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameBetween(String value1, String value2) {
            addCriterion("product_name between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotBetween(String value1, String value2) {
            addCriterion("product_name not between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductTypeIsNull() {
            addCriterion("product_type is null");
            return (Criteria) this;
        }

        public Criteria andProductTypeIsNotNull() {
            addCriterion("product_type is not null");
            return (Criteria) this;
        }

        public Criteria andProductTypeEqualTo(String value) {
            addCriterion("product_type =", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotEqualTo(String value) {
            addCriterion("product_type <>", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeGreaterThan(String value) {
            addCriterion("product_type >", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeGreaterThanOrEqualTo(String value) {
            addCriterion("product_type >=", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLessThan(String value) {
            addCriterion("product_type <", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLessThanOrEqualTo(String value) {
            addCriterion("product_type <=", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeLike(String value) {
            addCriterion("product_type like", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotLike(String value) {
            addCriterion("product_type not like", value, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeIn(List<String> values) {
            addCriterion("product_type in", values, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotIn(List<String> values) {
            addCriterion("product_type not in", values, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeBetween(String value1, String value2) {
            addCriterion("product_type between", value1, value2, "productType");
            return (Criteria) this;
        }

        public Criteria andProductTypeNotBetween(String value1, String value2) {
            addCriterion("product_type not between", value1, value2, "productType");
            return (Criteria) this;
        }

        public Criteria andProductSortIsNull() {
            addCriterion("product_sort is null");
            return (Criteria) this;
        }

        public Criteria andProductSortIsNotNull() {
            addCriterion("product_sort is not null");
            return (Criteria) this;
        }

        public Criteria andProductSortEqualTo(String value) {
            addCriterion("product_sort =", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortNotEqualTo(String value) {
            addCriterion("product_sort <>", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortGreaterThan(String value) {
            addCriterion("product_sort >", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortGreaterThanOrEqualTo(String value) {
            addCriterion("product_sort >=", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortLessThan(String value) {
            addCriterion("product_sort <", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortLessThanOrEqualTo(String value) {
            addCriterion("product_sort <=", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortLike(String value) {
            addCriterion("product_sort like", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortNotLike(String value) {
            addCriterion("product_sort not like", value, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortIn(List<String> values) {
            addCriterion("product_sort in", values, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortNotIn(List<String> values) {
            addCriterion("product_sort not in", values, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortBetween(String value1, String value2) {
            addCriterion("product_sort between", value1, value2, "productSort");
            return (Criteria) this;
        }

        public Criteria andProductSortNotBetween(String value1, String value2) {
            addCriterion("product_sort not between", value1, value2, "productSort");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoIsNull() {
            addCriterion("is_buy_based_info is null");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoIsNotNull() {
            addCriterion("is_buy_based_info is not null");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoEqualTo(String value) {
            addCriterion("is_buy_based_info =", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoNotEqualTo(String value) {
            addCriterion("is_buy_based_info <>", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoGreaterThan(String value) {
            addCriterion("is_buy_based_info >", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoGreaterThanOrEqualTo(String value) {
            addCriterion("is_buy_based_info >=", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoLessThan(String value) {
            addCriterion("is_buy_based_info <", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoLessThanOrEqualTo(String value) {
            addCriterion("is_buy_based_info <=", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoLike(String value) {
            addCriterion("is_buy_based_info like", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoNotLike(String value) {
            addCriterion("is_buy_based_info not like", value, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoIn(List<String> values) {
            addCriterion("is_buy_based_info in", values, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoNotIn(List<String> values) {
            addCriterion("is_buy_based_info not in", values, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoBetween(String value1, String value2) {
            addCriterion("is_buy_based_info between", value1, value2, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andIsBuyBasedInfoNotBetween(String value1, String value2) {
            addCriterion("is_buy_based_info not between", value1, value2, "isBuyBasedInfo");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionIsNull() {
            addCriterion("product_description is null");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionIsNotNull() {
            addCriterion("product_description is not null");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionEqualTo(String value) {
            addCriterion("product_description =", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionNotEqualTo(String value) {
            addCriterion("product_description <>", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionGreaterThan(String value) {
            addCriterion("product_description >", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("product_description >=", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionLessThan(String value) {
            addCriterion("product_description <", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionLessThanOrEqualTo(String value) {
            addCriterion("product_description <=", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionLike(String value) {
            addCriterion("product_description like", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionNotLike(String value) {
            addCriterion("product_description not like", value, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionIn(List<String> values) {
            addCriterion("product_description in", values, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionNotIn(List<String> values) {
            addCriterion("product_description not in", values, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionBetween(String value1, String value2) {
            addCriterion("product_description between", value1, value2, "productDescription");
            return (Criteria) this;
        }

        public Criteria andProductDescriptionNotBetween(String value1, String value2) {
            addCriterion("product_description not between", value1, value2, "productDescription");
            return (Criteria) this;
        }

        public Criteria andOnlineDateIsNull() {
            addCriterion("online_date is null");
            return (Criteria) this;
        }

        public Criteria andOnlineDateIsNotNull() {
            addCriterion("online_date is not null");
            return (Criteria) this;
        }

        public Criteria andOnlineDateEqualTo(String value) {
            addCriterion("online_date =", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateNotEqualTo(String value) {
            addCriterion("online_date <>", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateGreaterThan(String value) {
            addCriterion("online_date >", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateGreaterThanOrEqualTo(String value) {
            addCriterion("online_date >=", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateLessThan(String value) {
            addCriterion("online_date <", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateLessThanOrEqualTo(String value) {
            addCriterion("online_date <=", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateLike(String value) {
            addCriterion("online_date like", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateNotLike(String value) {
            addCriterion("online_date not like", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateIn(List<String> values) {
            addCriterion("online_date in", values, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateNotIn(List<String> values) {
            addCriterion("online_date not in", values, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateBetween(String value1, String value2) {
            addCriterion("online_date between", value1, value2, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateNotBetween(String value1, String value2) {
            addCriterion("online_date not between", value1, value2, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateIsNull() {
            addCriterion("offline_date is null");
            return (Criteria) this;
        }

        public Criteria andOfflineDateIsNotNull() {
            addCriterion("offline_date is not null");
            return (Criteria) this;
        }

        public Criteria andOfflineDateEqualTo(String value) {
            addCriterion("offline_date =", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateNotEqualTo(String value) {
            addCriterion("offline_date <>", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateGreaterThan(String value) {
            addCriterion("offline_date >", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateGreaterThanOrEqualTo(String value) {
            addCriterion("offline_date >=", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateLessThan(String value) {
            addCriterion("offline_date <", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateLessThanOrEqualTo(String value) {
            addCriterion("offline_date <=", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateLike(String value) {
            addCriterion("offline_date like", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateNotLike(String value) {
            addCriterion("offline_date not like", value, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateIn(List<String> values) {
            addCriterion("offline_date in", values, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateNotIn(List<String> values) {
            addCriterion("offline_date not in", values, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateBetween(String value1, String value2) {
            addCriterion("offline_date between", value1, value2, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andOfflineDateNotBetween(String value1, String value2) {
            addCriterion("offline_date not between", value1, value2, "offlineDate");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(String value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(String value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(String value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(String value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(String value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(String value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLike(String value) {
            addCriterion("state like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotLike(String value) {
            addCriterion("state not like", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<String> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<String> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(String value1, String value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(String value1, String value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andCreatePersonIsNull() {
            addCriterion("create_person is null");
            return (Criteria) this;
        }

        public Criteria andCreatePersonIsNotNull() {
            addCriterion("create_person is not null");
            return (Criteria) this;
        }

        public Criteria andCreatePersonEqualTo(String value) {
            addCriterion("create_person =", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonNotEqualTo(String value) {
            addCriterion("create_person <>", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonGreaterThan(String value) {
            addCriterion("create_person >", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonGreaterThanOrEqualTo(String value) {
            addCriterion("create_person >=", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonLessThan(String value) {
            addCriterion("create_person <", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonLessThanOrEqualTo(String value) {
            addCriterion("create_person <=", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonLike(String value) {
            addCriterion("create_person like", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonNotLike(String value) {
            addCriterion("create_person not like", value, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonIn(List<String> values) {
            addCriterion("create_person in", values, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonNotIn(List<String> values) {
            addCriterion("create_person not in", values, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonBetween(String value1, String value2) {
            addCriterion("create_person between", value1, value2, "createPerson");
            return (Criteria) this;
        }

        public Criteria andCreatePersonNotBetween(String value1, String value2) {
            addCriterion("create_person not between", value1, value2, "createPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonIsNull() {
            addCriterion("last_alter_person is null");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonIsNotNull() {
            addCriterion("last_alter_person is not null");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonEqualTo(String value) {
            addCriterion("last_alter_person =", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonNotEqualTo(String value) {
            addCriterion("last_alter_person <>", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonGreaterThan(String value) {
            addCriterion("last_alter_person >", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonGreaterThanOrEqualTo(String value) {
            addCriterion("last_alter_person >=", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonLessThan(String value) {
            addCriterion("last_alter_person <", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonLessThanOrEqualTo(String value) {
            addCriterion("last_alter_person <=", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonLike(String value) {
            addCriterion("last_alter_person like", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonNotLike(String value) {
            addCriterion("last_alter_person not like", value, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonIn(List<String> values) {
            addCriterion("last_alter_person in", values, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonNotIn(List<String> values) {
            addCriterion("last_alter_person not in", values, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonBetween(String value1, String value2) {
            addCriterion("last_alter_person between", value1, value2, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andLastAlterPersonNotBetween(String value1, String value2) {
            addCriterion("last_alter_person not between", value1, value2, "lastAlterPerson");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeIsNull() {
            addCriterion("alter_time is null");
            return (Criteria) this;
        }

        public Criteria andAlterTimeIsNotNull() {
            addCriterion("alter_time is not null");
            return (Criteria) this;
        }

        public Criteria andAlterTimeEqualTo(Date value) {
            addCriterion("alter_time =", value, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeNotEqualTo(Date value) {
            addCriterion("alter_time <>", value, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeGreaterThan(Date value) {
            addCriterion("alter_time >", value, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("alter_time >=", value, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeLessThan(Date value) {
            addCriterion("alter_time <", value, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeLessThanOrEqualTo(Date value) {
            addCriterion("alter_time <=", value, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeIn(List<Date> values) {
            addCriterion("alter_time in", values, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeNotIn(List<Date> values) {
            addCriterion("alter_time not in", values, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeBetween(Date value1, Date value2) {
            addCriterion("alter_time between", value1, value2, "alterTime");
            return (Criteria) this;
        }

        public Criteria andAlterTimeNotBetween(Date value1, Date value2) {
            addCriterion("alter_time not between", value1, value2, "alterTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
